1. Field of the Invention
The disclosure relates generally to flash memories, and, more particularly to a write timeout control method for flash memories.
2. Description of the Related Art
Flash memories are non-volatile memories which can retain stored information without power supply and has the benefits of having a small size, high memory density, low power consumption and low costs. Thus, they are commonly used in a variety of consumer electronic products such as mobile phones, digital cameras, personal digital assistants (PDAs) and so on.
Generally, a flash memory has a large number of blocks and each block includes a plurality of pages for data storage. Further, a flash memory is programmed by a unit of one page and erased by a unit of one block. That is, when an erase operation was performed on one block of the flash memory, data stored in all pages of the block would be erased at the same time.
In addition, each page of a flash memory is only allowed to be programmed once.
When data stored in several pages of a block requires to be updated, the several pages where the data is originally stored are not allowed to be directly programmed by updated data. In this case, it is necessary to erase the block before updating data stored in the several pages, so as to perform write-in or programming of the update data. The additional operations required due to the erasing and re-programming may undesirably result in execution time delays and further require extra workloads; thus degrading overall access performance.
Moreover, for flash memories to be developed with increased memory capacitance, the number of pages of each block are being increased, such as from 128 pages to 256 pages, or memory capacitance of each page are being increased, such as from 4K bytes to 8K bytes. Accordingly, execution time delays for updating data is increased due to increased erasing and re-programming operations, such that a program busy time which may be defined in a flash memory specification, such as 250 milliseconds (ms), may be exceeded. In general, it may take 200 ms to erase a block with 128 pages. As a result, it may require 400 ms to erase a block with 256 pages and re-program the block for updating data, which would cause write timeout and substantially deteriorate overall access performance.
Therefore, it is desirable to provide a write timeout control method for a flash memory capable of preventing write timeout during data programming or data updating; thereby improving overall access performance of the flash memory.